<template>
    <view>
		<button
			:size="size"
			:type="type"
			:plain="plain"
			:disabled="disabled"
			:loading="loading"
			:form-ype="formType"
			:open-type="openType"
			:hover-class="hoverClass"
			:hover-start-time="hoverStartTime"
			:app-parameter="appParameter"
			:hover-stop-propagation="hoverStopPropagation"
			:style="styles"
			:class="className"
			:fillet="fillet"
			:needBorder="needBorder"
			:defaultColor="defaultColor"
			@click="onclick"
		>
			<slot/>
		</button>
	</view>
</template>

<script>
    export default {
    	props:{
			size:{
				type:String,
				default:"default",//default mini
			},
			type:{
				type:String,
				default:"",//primary default warn
			},
			fillet:{//圆角
				type:Boolean,
				default:false
			},
			needBorder:{
				type:Boolean,
				default:true
			},
			defaultColor:{ //当 size 为default时是否开启 默认样式
				type:Boolean,
				default:false
			},
			plain:{//按钮是否镂空，背景色透明
				type:Boolean,
				default:false
			},
			disabled:{//是否禁用
				type:Boolean,
				default:false
			},
			loading:{//名称前是否带 loading 图标
				type:Boolean,
				default:false
			},
			formType:{//用于 <form> 组件
				type:String,
				default:"" //submit reset
			},
			openType:{//开放能力, 详见 uni-app open-type
				type:String,
				default:""
			},
			hoverClass:{//指定按钮按下去的样式类。当 hover-class="none" 时，没有点击态效果
				type:String,
				default:'button-hover' //button-hover 默认为 {background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}
			},
			hoverStartTime:{//按住后多久出现点击态，单位毫秒
				type:Number,
				default:20
			},
			appParameter:{//打开 APP 时，向 APP 传递的参数，open-type=launchApp时有效
				type:String,
				default:""
			},
			hoverStopPropagation:{//指定是否阻止本节点的祖先节点出现点击态
				type:Boolean,
				default:false
			},
			styles:{
				type:String,
				default:""
			},
			className:{
				type:String,
				default:""
			},
		},
        data(){
        	return {

			}
		},
		methods:{
			onclick(){
				this.$emit('onClick')
			}
		}
    }
</script>

<style scoped lang="scss">
	@import "../common/common";

</style>
